HTML属性 – Dart逆引きリファレンス
HTML属性(HTML attributes)
基本的には「Element」オブジェクトが持つ「attributes」プロパティを操作します。「attributes」プロパティは「AttributeMap」というインタフェース型のオブジェクトです。実体は「Map」インタフェースのデフォルトインスタンス(ただの連想配列)なので連想配列同様に扱います。
属性値を取得したい
オペレータ「[]」を使用して属性値にアクセスします。
Element element = new Element.html('<a href="http://www.dartlang.org/">Dart</a>'); document.query('#target').nodes.add(element); element.attributes['href']; // http://www.dartlang.org/
属性に値を設定したい
オペレータ「[]=」を使用して属性値を設定します。
Element element = new Element.html('<a href="http://www.dartlang.org/">Dart</a>'); document.query('#target').nodes.add(element); element.attributes['href']; element.attributes['href'] = 'http://synonym.dartlang.org/';
要素から属性を除去したい
「remove」メソッドを使用して属性を除去します。
Element element = new Element.html('<a href="http://www.dartlang.org/">Dart</a>'); document.query('#target').nodes.add(element); element.attributes['href']; element.attributes['href'] = 'http://synonym.dartlang.org/'; element.attributes.remove('href');
要素が指定した属性を持っているか知りたい
「containsKey」メソッドを使用して属性マップに存在するかを調べます。
※Synonymでは「contains」メソッドとなっていますが「Map」には存在しないメソッドです。
Element element = new Element.html('<a href="http://www.dartlang.org/">Dart</a>'); document.query('#target').nodes.add(element); element.attributes['href']; element.attributes['href'] = 'http://synonym.dartlang.org/'; element.attributes.remove('href'); element.attributes.containsKey('href'); // false